Dynomotion

Group: DynoMotion Message: 13637 From: David Strip Date: 7/23/2016
Subject: Questions about TrigThread
The docs say:
Triggers a coordinated motion threading operation.  The coordinated motion path in the coordinated motion buffer begins execution synchronized with the Spindle motion.  The Speed specified will be used as the baseline speed such that if the actual spindle speed is equal to the base speed, then Pseudo Time will progress the same as real time.  Otherwise Pseudo time will be adjusted to match the spindle motion. (emphasis added)
1. Is the "coordinated motion path in the coordinated motion buffer" a single motion command (as might be created by a Linear command) or is it a series of commands in the buffer?
2. If a series of commands, are all executed in the pseudo-time mode?
3. If a series of commands, what triggers return to "normal" time? Exhaustion of the buffer?
4. Does the motion trigger when the spindle encoder sends the zero tick, or is it some other point in the revolution?
5. Is pseudo-time adjusted in response to spindle speed variations continuously during the execution of the motion command?

Thanks
--
Group: DynoMotion Message: 13638 From: Tom Kerekes Date: 7/23/2016
Subject: Re: Questions about TrigThread

Hi David,

Regarding:

#1 - a series of segments.  Actually even a single linear motion will create multiple coordinated motion segments for acceleration, constant velocity, deceleration, or more.

#2 - yes

#3 - yes, all the motion must be completed and then a new motion must be started in "Normal Time" (ExecBuf rather than TrigThreading);

#4 - yes it triggers at the next 0 counts or any multiple of counts/rev from 0

#5 - yes the responsiveness is programmable using the Tau setting ("Motion Filter Time")

You might read this 5+ year old post:-)

http://www.cnczone.com/forums/x3-sx3-g0619-g0463/89210-software-12.html#post964226

A real-time capture of a synchronization:

http://www.dynomotion.com/Software/Thread/thread.png

HTH
Regards
TK


On 7/23/2016 7:41 AM, David Strip David@... [DynoMotion] wrote:
 

The docs say:

Triggers a coordinated motion threading operation.  The coordinated motion path in the coordinated motion buffer begins execution synchronized with the Spindle motion.  The Speed specified will be used as the baseline speed such that if the actual spindle speed is equal to the base speed, then Pseudo Time will progress the same as real time.  Otherwise Pseudo time will be adjusted to match the spindle motion. (emphasis added)
1. Is the "coordinated motion path in the coordinated motion buffer" a single motion command (as might be created by a Linear command) or is it a series of commands in the buffer?
2. If a series of commands, are all executed in the pseudo-time mode?
3. If a series of commands, what triggers return to "normal" time? Exhaustion of the buffer?
4. Does the motion trigger when the spindle encoder sends the zero tick, or is it some other point in the revolution?
5. Is pseudo-time adjusted in response to spindle speed variations continuously during the execution of the motion command?

Thanks
--
Group: DynoMotion Message: 13640 From: David Strip Date: 7/23/2016
Subject: Re: Questions about TrigThread
On 7/23/2016 12:13 PM, Tom Kerekes tk@... [DynoMotion] wrote:

Hi David,

Regarding:

#1 - a series of segments.  Actually even a single linear motion will create multiple coordinated motion segments for acceleration, constant velocity, deceleration, or more.

Thanks, Tom. That clears up a lot of questions. Your answer to #1 raises a new question. When you say "even a single linear motion will create multiple coordinated motion segments ...", are you talking about a single linear motion in g-code? Do Linear/Linear Ex/LinearHex/LinearHexEx commands create more than one move in the coordinated motion buffer? ie, direct WriteLine commands, by-passing the CoordMotion or TrajectoryPlanner classes?

--
Group: DynoMotion Message: 13641 From: TKSOFT Date: 7/23/2016
Subject: Re: Questions about TrigThread
Hi David,

A Linear/LinearEx/LinearHex/LinearHexEx Script commands will all
generate exactly one Coordinated Motion Segment. Higher level calls
from GCode or Library Calls may generate multiple (or zero) Coordinated
Motion Segments.

HTH
Regards
TK


On 2016-07-23 12:11, David Strip David@... [DynoMotion]
wrote:
> On 7/23/2016 12:13 PM, Tom Kerekes tk@... [DynoMotion]
> wrote:
>
>> Hi David,
>>
>> Regarding:
>>
>> #1 - a series of segments. Actually even a single linear motion
>> will create multiple coordinated motion segments for acceleration,
>> constant velocity, deceleration, or more.
> Thanks, Tom. That clears up a lot of questions. Your answer to #1
> raises a new question. When you say "even a single linear motion will
> create multiple coordinated motion segments ...", are you talking
> about a single linear motion _in g-code?_ Do Linear/Linear
> Ex/LinearHex/LinearHexEx commands create more than one move in the
> coordinated motion buffer? ie, direct WriteLine commands, by-passing
> the CoordMotion or TrajectoryPlanner classes?
Group: DynoMotion Message: 13642 From: David Strip Date: 7/23/2016
Subject: Re: Questions about TrigThread
On 7/23/2016 1:18 PM, tk@... [DynoMotion] wrote:
Hi David,

A Linear/LinearEx/LinearHex/LinearHexEx Script commands will all
generate exactly one Coordinated Motion Segment. Higher level calls
from GCode or Library Calls may generate multiple (or zero) Coordinated
Motion Segments.

HTH
Regards
TK
again, thanks. I'm starting to think I'm getting a grasp on this thing :-)

--